﻿using NExt.Core.Model.Base;

namespace NExt.menu
{
    public class BaseItem : BaseItem<BaseItemEvents>
    {
    }

    public abstract class BaseItem<TEvents> : Component<TEvents>
        where TEvents : BaseItemEvents, new()
    {
        public string activeClass { get; set; }
        public bool? canActivate { get; set; }
        public IScript handler { get; set; }
        public int? hideDelay { get; set; }
        public bool? hideOnClick { get; set; }
        public object scope { get; set; }
    }

    public class BaseItemEvents : ComponentEvents
    {
        public IScript activate { get; set; }
        public IScript click { get; set; }
        public IScript deactivate { get; set; }
    }
}
